class Person {
    constructor() { // 写constructor必须要super
        super() // super 指向的是父类 
    }
    drink() {
        super.drink() // super 指向的是父类原型
    }
}

// 装饰器
// 修饰的时候 就是把这个类的属性传递给修饰函数
// @connect @withRoute

function flag(ctro) {
    ctro.type = 'aa' // 类上的属性
}

@flag
class P {
    name: 'zs';
    address() {
        console.log('地址')
    }
}


function flag1(arg) { // 传参
    return function (ctro) {
        ctro.type = arg
    }
}
@flag1 // flag1('aaa')(P1)
class P1 {
    name: 'zs';
}